/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package Clases;
import entidad.Bebidas;
import entidad.Platos;
/**
 *
 * @author a
 */
public class DetalleOrdenMesa {
    
    private Bebidas bebida;
    private Platos plato;
    private String especialidad;
    private int cantidad;
    private int idDetalle;
    
    public DetalleOrdenMesa()
    {
        bebida=null;
        plato=null;
        cantidad=1;
        especialidad= "";
        idDetalle=0;
    }
     public DetalleOrdenMesa(Platos plat)
    {
        bebida=null;
        plato=plat;
        cantidad=1;
        especialidad= "";
        idDetalle=0;
    }
    public DetalleOrdenMesa(Bebidas bes)
    {
        bebida=bes;
        plato=null;
        cantidad=1;
        especialidad= "";
        idDetalle=0;
    }
    
    public int getIdDetalle()
    {
        return this.idDetalle;
    }
    
     
    public void setIdDetalle(int id)
    {
        this.idDetalle=id;
    }
    
    public String getEspecialidad()
    {
        return this.especialidad;
    }
    
    public void setEspecialidad(String espcialidad)
    {
        this.especialidad = espcialidad;
    }

    /**
     * @return the bebida
     */
    public Bebidas getBebida() {
        return bebida;
    }

    /**
     * @param bebida the bebida to set
     */
    public void setBebida(Bebidas bebida) {
        this.bebida = bebida;
    }
    
    public void setDescripcion(String des) {
        this.especialidad = des;
    }

    /**
     * @return the plato
     */
    public Platos getPlato() {
        return plato;
    }

    /**
     * @param plato the plato to set
     */
    public void setPlato(Platos plato) {
        this.plato = plato;
    }

    /**
     * @return the cantidad
     */
    public int getCantidad() {
        return cantidad;
    }
    public void setCantidad(int can) {
        this.cantidad=can;
    }
    
    //regresar True si es de bebida false si no
    public boolean getBebidaBool()
    {
        if(bebida==null)
            return false;
        return true;
    }
    public boolean getPlatoBool()
    {
        if(plato==null)
            return false;
        return true;
    }
    
     public void setCantidadAumentar() {
        this.cantidad = this.cantidad + 1;
    }
     //si Regresa true quiere decir que se elimina dicho detalle
    public boolean setCantidadDisminuir() {
        this.cantidad = this.cantidad - 1;
        if(cantidad ==0)
            return true;
        else
            return false;
    }
    
    public float subTotal()
    {
        float total = 0;
        if(plato!=null)
            total = cantidad * plato.getPrecio();
        if(bebida != null)
            total = cantidad * bebida.getPrecio();
        return total;
    }
    
    public DetalleOrdenMesa agregarEspecialidad(String especial)
    {
        int x=0;
        //this.especialidad = especial;
        x= this.cantidad-1;
        if(x==0||this.getEspecialidad().equals("")==false)
        {
            this.especialidad=especial;
            return null;
        }
        this.cantidad=x;
        DetalleOrdenMesa det = new DetalleOrdenMesa();
        det.bebida=this.bebida;
        det.plato = this.plato;
        det.cantidad = 1;
        det.especialidad = especial;
        return det;
    }
    
    
}
